//
//  XMGPresentationController.swift
//  zhuWEIBO1
//
//  Created by STW-02 on 18/10/30.
//  Copyright © 2018年 STW-02. All rights reserved.
// 这个类的作用 修改弹出视图的尺寸   给视图添加一个蒙版   添加手势 点击退出


import UIKit

class XMGPresentationController: UIPresentationController {
    
     // 提供一个属性 让尺寸由外部的来决定
    var  presentedFrame : CGRect = CGRect.zero
    fileprivate lazy var coverView : UIView  = UIView()
     // 使用系统的函数 修改弹出的尺寸
    override func  containerViewWillLayoutSubviews() {
           super.containerViewWillLayoutSubviews()
        // 1  设置弹出view 的尺寸 CGRect(x: 100, y: 55, width: 200, height: 255)

         presentedView?.frame = presentedFrame
        
        // 添加一个蒙版 
          setupCoverView()
    }

  
    
}
extension  XMGPresentationController {
    func setupCoverView (){
        print(" 添加蒙版进入了该方法")
       // 添加蒙版 
     containerView?.insertSubview(coverView, at: 0) // 这个方法不灵了
        // containerView?.addSubview(coverView)
        // 2 设置蒙版的属性   UIColor(white: 0.8, alpha: 0.2)
         coverView.backgroundColor = UIColor(white: 0.8, alpha: 0.2)
         coverView.frame = (containerView?.bounds)!
         // 添加一个手势 
       let  tapGes = UITapGestureRecognizer(target: self, action: #selector(XMGPresentationController.coverViewCilck))
        
         coverView.addGestureRecognizer(tapGes)
        print(" 添加蒙版进入了该方法")
    }
}
// 添加手势的监听
extension XMGPresentationController{
    @objc fileprivate func  coverViewCilck () {
      presentedViewController.dismiss(animated: true) { 
             //
        print("视图销毁了 退出视图")
        }
    
    }
}
